package br.com.ufc.apsoo.hotelar.controller;

import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;

import br.com.ufc.apsoo.hotelar.dao.ClienteDao;
import br.com.ufc.apsoo.hotelar.dao.HospedagemDao;
import br.com.ufc.apsoo.hotelar.dao.impl.ClienteDaoImpl;
import br.com.ufc.apsoo.hotelar.dao.impl.HospedagemDaoImpl;
import br.com.ufc.apsoo.hotelar.model.Apartamento;
import br.com.ufc.apsoo.hotelar.model.Cliente;

public class BuscaHospedeController {
	private String nome;
	private Cliente cliente;
	private DataModel<Cliente> clientes;
	private Apartamento apartamento;
	
	private ClienteDao clienteDao;
	private HospedagemDao hospedagemDao;
	
	public BuscaHospedeController(){
		clientes = new ListDataModel<Cliente>();
		cliente = new Cliente();
		apartamento = new Apartamento();
		
		clienteDao = new ClienteDaoImpl();
		hospedagemDao = new HospedagemDaoImpl();
	}
	
	public String buscarCliente() {
		cliente = new Cliente();
		apartamento = new Apartamento();
		clientes = new ListDataModel<Cliente>(
				clienteDao.getClienteByNomeAndHospedado(nome));
		return "busca_hospede";
	}

	public String selecionarCliente() {
		cliente = clientes.getRowData();
		apartamento = hospedagemDao.getHospedagemAtivaByCliente(cliente).getApartamento();
		
		return "busca_hospede";
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public Cliente getCliente() {
		return cliente;
	}

	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}

	public DataModel<Cliente> getClientes() {
		return clientes;
	}

	public void setClientes(DataModel<Cliente> clientes) {
		this.clientes = clientes;
	}

	public Apartamento getApartamento() {
		return apartamento;
	}

	public void setApartamento(Apartamento apartamento) {
		this.apartamento = apartamento;
	}

}
